home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
500 MB Nyheder Direkte fra Internet 2
/
500 MB nyheder direkte fra internet CD 2.iso
/
start
/
data
/
text
/
faq-0534.txt
< prev
next >
Wrap
Text File
|
1995-05-08
|
67KB
|
1,655 lines
Archive-name: free-compilers/part4
Last-modified: 1995/05/04
Version: 8.0
concurrent, parallel, and simulation languages
-------------------------------------------------------------------------------
category: concurrent, parellel, and simulation languages
description: This is a fairly broad category of languages. Most of the
implementations in this set are not good enough to be used in
production systems. Some are. In addition to those listed
below, see:
lref: Concurrent Clean
lref: Concurrent ML
lref: EuLisp
lref: Parallaxis
lref: Maisie
lref: uC++
lref: MeldC
lref: pm2
lref: Simula 67
iref: (Tcl) MTtcl - Multi-threaded Tcl
language: ABCL/1 (An object-Based Concurrent Language)
package: ABCL/1
version: ?
parts: ?
author: Akinori Yonezawa, ABCL Group now at Department of Information
Science, the University of Tokyo
location: ftp pub/abcl1/* from camille.is.s.u-tokyo.ac.jp
description: Asynchronous message passing to objects.
reference: "ABCL: An Object-Oriented Concurrent System", Edited by
Akinori Yonezawa, The MIT Press, 1990, (ISBN 0-262-24029-7)
restriction: no commercial use, must return license agreement
requires: Common Lisp
contact: abcl@is.s.u-tokyo.ac.jp
updated: 1990/05/23
language: ABCL ???
package: ABCL/R2
version: ?
parts: ?
author: masuhara@is.s.u-tokyo.ac.jp, matsu@is.s.u-tokyo.ac.jp,
takuo@is.s.u-tokyo.ac.jp, yonezawa@is.s.u-tokyo.ac.jp
location: ftp pub/abclr2/* from camille.is.s.u-tokyo.ac.jp
description: ABCL/R2 is an object-oriented concurrent reflective language
based on Hybrid Group Architecture. As a reflective language,
an ABCL/R2 program can dynamically control its own behavior,
such as scheduling policy, from within user-program. An an
object-oriented concurrent language, this system has almost all
functions of ABCL/1.
requires: Common Lisp
updated: 1993/01/28
language: ALLOY
package: ALLOY
version: 2.0?
parts: interpreter, documentation, examples
author: Thanasis Mitsolides <mitsolid@cs.nyu.edu>
location: ftp pub/local/alloy/* from cs.nyu.edu
description: ALLOY is a higher level parallel programming language
appropriate for programming massively parallel computing
systems. It is based on a combination of ideas from
functional, object oriented and logic programming languages.
The result is a language that can directly support
functional, object oriented and logic programming styles
in a unified and controlled framework. Evaluating modes
support serial or parallel execution, eager or lazy
evaluation, non-determinism or multiple solutions etc.
ALLOY is simple as it only requires 29 primitives in all
(half of which for Object Oriented Programming support).
ports: sparc, ?
updated: 1991/06/11
language: Cellang (Cellular Automata)
package: Cellular
version: 2.0
parts: byte-code compiler, runtime, viewer
author: J Dana Eckart <dana@rucs.faculty.cs.runet.edu>
location: comp.sources.unix, volume 26
description: A system for cellular automata programming.
updated: 1993/04/03
language: Hermes
package: IBM Watson prototype Hermes system
version: 0.8alpha patchlevel 01
parts: bytecode compiler, compiler(bytecode->C), runtime
author: Andy Lowry <lowry@watson.ibm.com>
location: ftp pub/hermes/README from software.watson.ibm.com
description: Hermes is a very-high-level integrated language and
system for implementation of large systems and
distributed applications, as well as for
general-purpose programming. It is an imperative,
strongly typed, process-oriented language. Hermes
hides distribution and heterogeneity from the
programmer. The programmer sees a single abstract
machine containing processes that communicate using
calls or sends. The compiler, not the programmer,
deals with the complexity of data structure layout,
local and remote communication, and interaction with
the operating system. As a result, Hermes programs are
portable and easy to write. Because the programming
paradigm is simple and high level, there are many
opportunities for optimization which are not present in
languages which give the programmer more direct control
over the machine.
reference: Strom, Bacon, Goldberg, Lowry, Yellin, Yemini. Hermes: A
Language for Distributed Computing. Prentice-Hall, Englewood
Cliffs, NJ. 1991. ISBN: O-13-389537-8.
ports: RS6000 Sun-4 NeXT IBM-RT/bsd4.3 (Sun-3 and Convex soon)
discussion: comp.lang.hermes
updated: 1992/03/22
language: PCN
package: PCN
version: 2.0
parts: compiler?, runtime, linker, libraries, tools, debugger,
profiler, tracer
author: Ian Foster <foster@mcs.anl.gov>, Steve Tuecke
<tuecke@mcs.anl.gov>, and others
location: ftp pub/pcn/pcn_v2.0.tar.Z from info.mcs.anl.gov
description: PCN is a parallel programming system designed to improve
the productivity of scientists and engineers using parallel
computers. It provides a simple language for specifying
concurrent algorithms, interfaces to Fortran and C, a
portable toolkit that allows applications to be developed
on a workstation or small parallel computer and run
unchanged on supercomputers, and integrated debugging and
performance analysis tools. PCN was developed at Argonne
National Laboratory and the California Institute of
Technology. It has been used to develop a wide variety of
applications, in areas such as climate modeling, fluid
dynamics, computational biology, chemistry, and circuit
simulation.
ports: (workstation nets): Sun4, NeXT, RS/6000, SGI
(multicomputers): iPSC/860, Touchstone DELTA
(shared memory multiprocessors): Symmetry/Dynix
contact: <pcn@mcs.anl.gov>
updated: 1993/02/12
language: LOOPN
package: LOOPN
version: ?
parts: compiler?, simulator
author: ?
location: ftp departments/computer_sci*/loopn.tar.Z from ftp.utas.edu.au
description: I wish to announce the availability of a compiler, simulator
and associated source control for an object-oriented petri net
language called LOOPN. In LOOPN, a petri net is an extension
of coloured timed petri nets. The extension means firstly that
token types are classes. In other words, they consist of both
data fields and functions, they can be declared by inheriting
from other token types, and they can be used polymorphically.
The object-oriented extensions also mean that module or subnet
types are classes. LOOPN has been developed over a period of
about 5 years at the University of Tasmania, where it has been
used in teaching computer simulation and the modelling of
network protocols. A petri net is a directed, bipartite graph;
nodes are either places (represented by circles) or transitions
(represented by rectangles). A net is marked by placing tokens
on places. When all the places pointing to a transition (the
input places) have a token, the net may be fired by removing a
token from each input place and adding a token to each place
pointed to by the transition (the output places). Petri nets
are used to model concurrent systems, particularly in the
network protocol area.
contact: Charles Lakos <charles@probitas.cs.utas.edu.au>
updated: 1992/12/20
language: Simula
package: Lund Simula
version: 4.07
parts: ?
author: ?
location: ftp misc/mac/programming/+_Simula/* from rascal.ics.utexas.edu
description: ?
contact: Lund Software House AB / Box 7056 / S-22007 Lund, Sweden
updated: 1992/05/22
language: SR (Synchronizing Resources)
package: sr
version: 2.0
parts: ?, documentation, tests
author: ?
location: ftp sr/sr.tar.Z from cs.arizona.edu
description: SR is a language for writing concurrent programs.
The main language constructs are resources and
operations. Resources encapsulate processes and
variables they share; operations provide the primary
mechanism for process interaction. SR provides a novel
integration of the mechanisms for invoking and
servicing operations. Consequently, all of local and
remote procedure call, rendezvous, message passing,
dynamic process creation, multicast, and semaphores are
supported.
reference: "The SR Programming Language: Concurrency in Practice",
by Gregory R. Andrews and Ronald A. Olsson, Benjamin/Cummings
Publishing Company, 1993, ISBN 0-8053-0088-0
ports: Sun-4, Sun-3, Decstation, SGI Iris, HP PA, HP 9000/300,
NeXT, Sequent Symmetry, DG AViiON, RS/6000, Multimax,
Apollo, and others.
discussion: info-sr-request@cs.arizona.edu
contact: sr-project@cs.arizona.edu
updated: 1992/09/01
language: UNITY
package: MasPar Unity
version: 1.0
parts: translator(UNITY->MPL), documentation
author: Martin Huber, University of Karlsruhe, Germany
location: ftp pub/maspar/maspar_unity* from SanFrancisco.ira.uka.de
description: ?
contact: Lutz Prechelt <prechelt@ira.uka.de>
updated: ?
language: UNITY
package: HOL-UNITY
version: 2.1
parts: verification tool
author: ?
location: ?
description: ?
contact: Flemming Andersen <fa@tfl.dk> ?
updated: ?
Forth family languages
-------------------------------------------------------------------------------
category: Forth family languages
description: These are the stack-based postfix languages, usually
interpreted, descended from the FORTH language originally
developed for telescope control.
lref: Postscript
iref: (mc6809) 6809, E-Forth
language: Forth
package: TILE Forth
version: 2.1
parts: interpreter
author: Mikael Patel <mip@sectra.se>
location: ftp tile-forth-2.1.tar.Z from a GNU archive site
description: Forth interpreter in C; many Forth libraries
conformance: Forth83
restriction: shareware/GPL
ports: unix
updated: 1991/11/13
language: Forth
package: cforth
version: ?
parts: interpreter
author: ?
location: comp.sources.unix archive volume 1
description: ?
updated: ?
language: Forth
package: pfe (Portable Forth Environment)
version: 0.9.4
parts: ?
author: Dirk Zoller <duz@roxi.rz.fht-mannheim.de>
location: ftp pub/unix/languages/pfe* from duz@roxi.rz.fht-mannheim.de
description: A Forth development system that tries to be correct,
complete, portable, usable and simple. It doesn't try too
hard to be fast.
conformance: all dpANS word sets
ports: Linux, RS/6000, HP-UX
portability: high
updated: 1994/05/02
language: Forth
package: F68K
version: ?
parts: ?
author: ?
location: ftp atari/Languages/f68k.* from archive.umich.edu
description: a portable Forth system for Motorola 68k computers
ports: Atari ST/TT, Amiga, Sinclair QL and OS9
portability: very high for 68000 based systems
contact: Joerg Plewe <joerg.plewe@mpi-dortmund.mpg.de>
updated: 1992/12/14
language: Forth
package: 51forth
version: ?
parts: ?
author: Scott Gehmlich
location: ftp giovanni/51forth.zip from [130.123.96.9]
description: source and documentation for a 8051 subroutine-
threaded forth
contact: ?
updated: 1993/04/03
language: Forth
package: M4th
version: ?
parts: interpreter, kernel, editor, application (8086 assembler),
hypertext-based documentation, decompiler
author: Nils M. Holm <fs29@rummelplatz.uni-mannheim.de>
location: ftp.uni-stuttgart.de:/pub/systems/pc/lang/forth/m4th10.zip
description: A small Forth implementation
ports: MSDOS.
updated: 1994/06/28
language: Forth
package: ThisForth
version: ?
author: ?
location: ftp pub/wilbaden/this4th-00B01.MAC.sit.* from ftp.netcom.com
description: ThisForth has been built for Macintosh and PowerMac.There is
still a single source for all incarnations. For now there is
just a console interface for the Mac and PowerMac.
ports: Macintosh, PowerMac
updated: 1994/09/20
language: Mops
package: Mops
version: 2.3.1
parts: compiler, documentation, editor
author: Michael Hore <mikeh@kralizec.zeta.org.au>
location: ftp pub/Yerk/? from oddjob.uchicago.edu
description: Like Yerk, Mops is descended from the ex-commercial
object-oriented language Neon. Mops features an
optimizing native-code compiler; it is much faster
than Yerk, but less compatible with Neon. Mops
includes extensions such as multiple inheritance.
ports: Macintosh
updated: ?
language: Kevo (Forth-like)
package: kevo
version: 0.9b6
parts: interpreter, demo programs, user's guide, papers
author: Antero Taivalsaari <tsaari@cs.uta.fi>
location: ftp /pub/kevo/* from cs.uta.fi
description: Kevo is a prototype-based object-oriented language for
Macintosh Kevo features a unique prototype-based object model
(which is based neither on classes nor Self-style delegation),
multitasking (both preemptive and cooperative), dynamic memory
management, and an icon-based object browser and editor modeled
loosely after Mac Finder. Kevo has been built around a portable
threaded code interpreter, and is syntactically a close
derivative of Forth.
ports: Macintosh
contact: kevo-interest@ursamajor.uvic.ca
updated: 1993/05/18
language: Yerk
package: Yerk
version: 3.62
parts: ?
author: ?
location: ftp pub/Yerk/? from oddjob.uchicago.edu
description: Yerk is an object oriented language based on a
Forth Kernel with some major modifications. It
was originally known as Neon, developed and sold
as a product by Kriya Systems from 1985 to 1989.
Several of us at The University of Chicago have
maintained Yerk since its demise as a product.
Because of the possible trademark conflict that
Kriya mentions, we picked the name Yerk, which is
at least not an acronym for anything, but rather
stands for Yerkes Observatory, part of the Department
of Astronomy and Astrophysics at U of C.
updated: ?
compiler generators and related tools
-------------------------------------------------------------------------------
category: compiler generators and related tools
description: Yacc, and the rest of its family
language: ABC
package: Grammar analysis tools
version: 1
parts: analysis tools, samples, documentation
author: Steven Pemberton <Steven.Pemberton@cwi.nl>
location: ftp /pub/abc/examples/grammar/* from ftp.cwi.nl
or http://www.cwi.nl/~steven/abc/examples/grammar
description: Grammar analysis program written in ABC (q.v.) for
answering such questions as "what are the start
symbols of all rules", "what symbols can follow this
symbol", "which rules are left recursive", and so on.
Includes a grammar of ISO Pascal.
reference: Ftp archive includes an article explaining the package.
ports: unix, MSDOS, atari, mac
contact: Steven.Pemberton@cwi.nl
updated: 1993/07/05
language: ? attribute grammar ?
package: Alpha
version: pre-release
parts: semantic-analysis generator?, documentation(german)
author: Andreas Koschinsky <koschins@cs.tu-berlin.de>
location: from author
description: I have written a compiler generator. The generator is called
Alpha and uses attribute grammars as specification calculus.
Alpha is the result of a thesis at Technische Universitaet
Berlin. I am looking for someone who would like to test and use
Alpha. Alpha generates compilers from a compiler
specification. This specification describes a compiler in
terminology of attribute grammars. Parser and Scanner are
generated by means of Bison and Flex. Alpha generates an
ASE-evaluator (Jazayeri and Walter). The documentation is in
german since it is a thesis at a german university.
updated: 1993/02/16
language: attribute-grammar extension of Yacc and Lex
package: Ox
version: G1.01
parts: Yacc/Lex/C preprocessor, tutorial, reference manual,
man page, examples, Ox-ready parsers (C, C++, Pascal, Ada,
Fortran)
author: Kurt Bischoff <bischoff@cs.iastate.edu>
location: ftp pub/ox/* from ftp.cs.iastate.edu
description: Ox generalizes the function of Yacc in the way that attribute
grammars generalize context-free grammars. Ordinary Yacc and
Lex specifications may be augmented with definitions of
synthesized and inherited attributes written in C syntax. Ox
checks these specifications for consistency and completeness,
and generates from them a program that builds and decorates
attributed parse trees. Ox accepts a most general class of
attribute grammars. The user may specify postdecoration
traversals for easy ordering of side effects such as code
generation. Ox handles the tedious and error-prone details of
writing code for parse-tree management, so its use eases
problems of security and maintainability associated with that
aspect of translator development. Ox is a preprocessor,
and extends the syntax and semantics of Yacc, Lex, and C.
reference: Most compiler textbooks have descriptions of attribute
grammars.
features: LALR(1), semantic-analyzer generation.
bugs: none known. Report bugs to ox-project@cs.iastate.edu.
restriction: Use of Ox is free. Ox-generated code is the property of
the Ox user.
ports: Unix
contact: ox-request@cs.iastate.edu
updated: 1993/11/14
language: attribute grammar
package: Rie
version: 1.0.4
parts: compiler generator (Rie->C), attribute evaluator generator,
documentation, examples (PL/0 compiler, simple semantic
analyzer).
author: Masataka Sassa, Kazuhiro Kuroishi, Teruhisa Hirai and
Yoshiki Ohshima
location: ftp /pub/Rie/* from ftp.is.titech.ac.jp
description: Rie is a yet another compiler generator based on a
one-pass ECLR-attribnute grammar, a one-pass superset of
LR-attributed grammar. It generates compilers comparable
in speed to handwritten compilers (about 1.8 times slower)
that can directly evaluate inherited and synthesized
attributes in parallel with LR parsing, without having to
create parse trees. Rie has a YACC-like syntax, but with the
ability to define attribution rules, thus allowing a unified
treatment of the syntax and semantics. Shorthand conditions,
context conditions and 'local' attributes are also processed.
reference: Sassa, M., Ishizuka, H., and Nakata, I.:
Rie, a Compiler Generator Based on a One-Pass
Attribute Grammar, Res. Rep. C-107, Dept. of Inf. Sci.,
Tokyo Institute of Technology
Contact rie-info@is.titech.ac.jp for hardcopy.
Electric version soon to be available at
ftp.is.titech.ac.jp in /pub/Rie/Papers/*.
bugs: Bug reports are welcome to rie-comments@is.titech.ac.jp.
restriction: Falls under version 2 of the GNU CopyLeft and the same
restrictions as Bison.
ports: UNIX, DOS, etc. (same as bison) and Sharp X68000
contact: rie-info@is.titech.ac.jp>
updated: 1993/12/02
language: BNF (Extended, actually a regular right part grammar)
package: Gray
version: 4
parts: parser generator, documentation, examples
author: Martin Anton Ertl <anton@mips.complang.tuwien.ac.at>
how to get: ftp://server.complang.tuwien.ac.at/pub/forth/gray4.tar.gz
ftp://server.complang.tuwien.ac.at/pub/forth/gray4.zip
description: Gray is a parser generator written in Forth. It takes
grammars in an extended BNF and produces executable Forth
code for recursive descent parsers.
restrictions: Copyleft
requires: ANS Forth
conformance: ANS Forth with some environmental dependences (see README)
status: supported
ports: Several ANS Forth Systems; mail author for old versions
running on Tile.
updated: 1994/08/08
language: BNF (??)
package: ZUSE
version: ?
parts: parser generator(?)
author: Arthur Pyster
location: ? Univ Calif at Santa Barbara ?
description: ll(1) paser generator
requires: Pascal
updated: 1986/09/23
language: BNF (??)
package: FMQ
version: ?
parts: paser generator w/error corrector generator
author: Jon Mauney
location: ftp from csczar.ncsu.edu
description: ?
status: ?
contact: ?
updated: 1990/03/31
language: BNF (??)
package: ATS (Attribute Translation System)
version: ?
parts: ?
author: ? University of Saskatchewan ?
location: ?
description: generates table-driven LL(1) parsers with full insert-only
error recovery. It also handles full left-attribute semantic
handling, which is a dream compared to using YACC's parser
actions.
status: ?
contact: ? (suggested: Dave Bocking <bocking@cs.usask.ca>)
updated: 1988/11/29
language: BNF (Extended)
package: PCCTS (Purdue Compiler-Construction Tool Set)
version: 1.31
parts: scanner generator, parser generator (pred-LL(k)),
documentation, tutorial
author: Terence J. Parr <parrt@parr-research.com>,
Will E. Cohen <cohenw@ecn.purdue.edu>,
Henry G. Dietz <hankd@ecn.purdue.edu>,
Russell W. Quong <quong@ecn.purdue.edu>
location: ftp pub/pccts/* from ftp.parr-research.com
UK: ftp computing/programming/languages/tools/pccts/*
from src.doc.ic.ac.uk
description: PCCTS is similar to a highly integrated version of
YACC and LEX; where ANTLR (ANother Tool for Language
Recognition) corresponds to YACC and DLG (DFA-based
Lexical analyzer Generator) functions like LEX.
PCCTS grammars contain specifications for lexical and
syntactic analysis with selective backtracking
("infinite lookahead"), semantic predicates,
intermediate-form construction and sophisticated
parser exception handling. Rules may employ Extended BNF
(EBNF) grammar constructs and may define parameters,
return values and local variables. Languages described in
PCCTS are recognized via predicated-LL(k) parsers
constructed in pure, human-readable, C/C++ code; the C++
programming interface is very good. The documentation is
complete, but distributed over an original manual plus
multiple release notes. A book is in the works and should
be available Fall 1995.
A recently-developed PCCTS-based C++ parser is available
at the ftp site; it is an *initial* release and was
derived from the grammar built by NeXT, Inc..
restriction: The tool is totally public domain--it has no legal
restrictions on its use or incorporation into commercial
applications.
ports: Unix, DOS, Windows, OS/2, Macintosh, NeXT
portability: very high
discussion: comp.compilers.tools.pccts
contact: Terence J. Parr <parrt@acm.org>
updated: 1995/04/05
language: BNF (very extended), yacc
package: PRE-CC Xtended
version: 2.30
parts: library, parser generator (LL(oo)), translator(yacc->)
author: Peter Breuer
location: FTP: ftp.comlab.ox.ac.uk:/pub/Programs/preccx.tar.Z (Unix)
ftp.comlab.ox.ac.uk:/pub/Programs/preccx.msdos (MS-DOS)
ftp.comlab.ox.ac.uk:
/pub/Documents/techpapers/Jonathan.Bowen/preccx-uug.ps.Z
(more recent versions available by subscription)
URL: http://www.comlab.ox.ac.uk/archive/redo/precc.html
description: PRECCX is an infinite-lookahead compiler compiler for context
dependent grammars. The generated code is ANSI C.
Specification scripts are in very EBNF with inherited and
synthetic attributes allowed. Scripts can be compiled in
separate modules, and linked together later. Meta-production
rules allowed. The technology is essentially LL(oo) with
optimizations. A converter for yacc scripts is available.
reference: "The PRECC Compiler-Compiler" by P.T. Breuer and J.P. Bowen.
In E. Davies and A. Findlay (eds.),
Proc. UKUUG/SUKUG Joint New Year 1993 Conference,
St. Cross Centre, Oxford, UK, 6-8 January 1993,
ISBN 1 873611 06 4 (UKUUG), 0 9520700 0 6 (SUKUG)
UKUUG/SUKUG Secretariat, Owles Hall, Buntingford,
Herts SG9 9PL, UK, pp 167-182, 1993.
"A PREttier Compiler-Compiler: Generating Higher Order
Parsers in C" P.T. Breuer and J.P. Bowen.
Oxford University Computing Laboratory Technical Report
PRG-TR-20-92, 25pp, November 1992. Accepted by
Software - Practice and Experience, 1994.
ftp pub/Documents/techreports/TR-20-92.ps.Z
from ftp.comlab.ox.ac.uk
ports: unix, MS-DOS
contact: Peter Breuer <ptb@comlab.ox.ac.uk>,
Jonathan Bowen <bowen@comlab.ox.ac.uk>
updated: 1994/06/02
language: BNF (??)
package: LLGen
version: ?
parts: parser generator
author: ? Fischer and LeBlanc ?
location: ? ftp from csczar.ncsu.edu ?
description: LL(1) parser generator
conformance: subset of FMQ
reference: "Crafting A Compiler", by Fischer and LeBlanc
status: ?
contact: ?
updated: 1990/03/31
language: BNF
package: wacco
version: 1.1, July 91
parts: parser generator
author: Parag Patel (parag@netcom.com, parag@sde.hp.com)
location: comp.sources.misc volume ?
description: Wacco is a recursive descent LL(1) parser generator that
generates C++ code. Its syntax is similar to YACC
with a lot of sugaring. It can also do attribute-driven
parsing. The source is bootstrapped wacco code.
ports: HP-UX s300 and s800, Sparc, and 4.3BSD (on HP)
portability: Host machine must be 32 bits.
contact: ?
updated: ?
language: BNF (Extended), BNF (yacc)
package: GMD Toolbox for Compiler Construction (aka Cocktail)
version: 9209
parts: lalr: parser generator (LALR(1) -> C, Modula-2),
ell : parser generator (LL(1) -> C, Modula-2),
rex : scanner generator (-> C, Modula-2),
bnf : translator (Extended BNF -> BNF),
y2l : translator (BNF (yacc) -> Extended BNF),
ast : abstract syntax tree generator,
ag : attribute-evaluator generator,
puma: transformation of abstract syntax tree using
pattern-matching
documentation, examples
author: Josef Grosch <grosch@cocolab.sub.com> and others
location: ftp /gmd/cocktail from ftp.gmd.de
ftp /pub/unix/programming/compilerbau
from ftp.rus.uni-stuttgart.de
ftp /pub/programming/languages/compiler-compiler/cocktail
from ftp.th-darmstadt.de
ftp /languages/tools/gmd from src.doc.ic.ac.uk
ftp /.3/plan/gmd from gatekeeper.dec.com
OS/2: ftp.eb.ele.tue.nl/pub/src/cocktail/dos-os2.zoo
description: A huge set of compiler building tools.
requires: (MS-DOS and MS-Windows only) DJ Delorie's DOS extender (go32)
(OS/2 only) emx programming environment for OS/2
ports: Unix, Linux, MS-DOS, MS-Windows, OS/2
portability: very high
status: version 9209 is unsupported, Cocktail is actively developed,
versions 9401 and higher are commercial
discussion: subscribe to Cocktail using listserv@eb.ele.tue.nl
support: Josef Grosch <grosch@cocolab.sub.com>
contact: Josef Grosch <grosch@cocolab.sub.com>
OS/2: Willem Jan Withagen <wjw@eb.ele.tue.nl>
updated: 1992/10/01
language: BNF (??)
package: T-gen
version: 2.1
parts: parser generator, documentation, ?
author: Justin Graver <graver@comm.mot.com>
location: ftp pub/st80_r41/T-gen2.1/* from st.cs.uiuc.edu
description: T-gen is a general-purpose object-oriented tool for the
automatic generation of string-to-object translators.
It is written in Smalltalk and lives in the Smalltalk
programming environment. T-gen supports the generation
of both top-down (LL) and bottom-up (LR) parsers, which
will automatically generate derivation trees, abstract
syntax trees, or arbitrary Smalltalk objects. The simple
specification syntax and graphical user interface are
intended to enhance the learning, comprehension, and
usefulness of T-gen.
requires: Smalltalk-80
ports: ParcPlace Objectworks/Smalltalk 4.0 & 4.1
updated: 1992/10/18
language: BNF
package: Eli Compiler Construction System
version: 3.8
parts: scanner generator(regular expressions->C, C++), documentation
parser generator(LALR->C, C++), documentation
attribute grammar generator(LIDO->C, C++), documentation
definition table generator(PDL->C, C++), documentation
tree pattern-matcher generator(OIL->C, C++), documentation
unparser generator(PTG->C, C++), documentation
author: ?
location: ftp pub/cs/distribs/eli/* from ftp.cs.colorado.edu
Europe: ftp unix/eli from ftp.uni-paderborn.de
or http://www.cs.colorado.edu/~eliuser
description: Eli integrates off-the-shelf tools and libraries with
specialized language processors to generate complete compilers
quickly and reliably. It simplifies the development of new
special-purpose languages, implementation of existing languages
on new hardware and extension of the constructs and features of
existing languages.
ports: Sun-4 (SunOS 4 & 5), Ultrix/MIPS, RS/6000, HP-UX, SGI, Linux
discussion: <eli-request@cs.colorado.edu>
bugs: <elibugs@cs.colorado.edu>
contact: <compiler@cs.colorado.edu>, <compiler@uni-paderborn.de>
updated: 1993/11/01
language: BNF
package: tom (demo for Tomita Parsing algorithm)
version: 1
parts: parser generator, parser interpreter, examples, documentation
author: Mark Hopkins <mark@omnifest.uwm.edu>
location: iecc.com in pub/files/tomita.tar.gz
alt.sources archive from October 4, 1993.
description: An implementation of the Tomita parsing algorithm using
LR(0) tables and dynamic programming.
reference: Kluwer '91, _Generalized LR Parsing_, Tomita ed., 0-7923-9201-9
"The Tomita Parsing Algorithm ...", comp.compilers May 20, 1994
features: Cyclic context free grammars are processed.
portability: System independent
updated: 1994/10/03
language: BNF (yacc)
package: NewYacc
version: 1.0
parts: parser generator, documenation
author: Jack Callahan <callahan@mimsy.cs.umd.edu>
location: ftp src/newyacc.1.0.*.Z from flubber.cs.umd.edu
description: [someone want to fill it in? --ed]
reference: see Dec 89 CACM for a brief overview of NewYacc.
updated: 1992/02/10
language: BNF (yacc)
package: bison
version: 1.22
parts: parser generator, documentation
author: ? Robert Corbett and Richard Stallman <rms@gnu.mit.edu>
location: ftp bison-1.16.tar.Z from a GNU archive site
description: ?
bugs: bug-gnu-utils@prep.ai.mit.edu
restriction: !! will apply the GNU General Public License to *your* code !!
ports: unix, atari, ?
updated: 1993/09/14
language: BNF (yacc), Lex
package: Bison++ and Flex++
version: 1.21-8 (bison), 2.3.8-7 (flex), 5 (flex++bison++misc)
parts: translator, documentation, postscript, examples, DOS binary
author: Alain Coetmeur <coetmeur@icdc.fr>
location: cse.unl.edu in ~ftp/pub/nandy/c++/tools/LATEST/*
Europe: mirrored on ftp.th-darmstadt.de
description: A retargeting of bison-1 and flex 2.3 to C++, able to
generate classes. As with Bison and Flex, these two tools
are independent but designed for mutual compatibility.
The version numbering has been changed for consistency with
Flex and Bison, so versions of flex3.0.x and bison2.x of this
package are are actually earlier versions, not later.
Examples are provided to help in getting started.
conformance: Mostly compatible with flex2.3 and bison 1 in C, apart
from the ability to generate classes.
features: Almost all symbol names can be redefined, parsers can be
shared in C and C++ in the same headers... very extensible...
flex++ support IOSTREAM and STDIO in C++.
bugs: Contact coetmeur@icdc.fr (current author and maintainer).
restriction: GNU License for bison++. Same as flex for flex++.
ports: SUNOS4, DOS, and same ports as Flex/Bison, Windows NT (tested)
portability: Larger memory model required on DOS (DOS binary supplied).
status: active, supported, might not support flex 2.4
discussion: coetmeur@icdc.fr, news: comp.compiler, or comp.lang.c++
help: coetmeur@icdc.fr, news: comp.compiler, or comp.lang.c++
for substantial problems.
support: see help, no commercial support. (volunteer ?)
announcements: mail list locally maintained by coetmeur@icdc.fr,
news: comp.compiler comp.lang.c++
updated: 1994/02/07
lref: C
lref: C++
lref: Lex
lref: yacc
language: BNF (yacc)
package: bison-A2.3
version: 2.3 (corresponds to gnu bison 1.22)
parts: parser generator, C-parser, C++parser, documentation
author: Fred Hansen <wjh+@cmu.edu>
location: ftp://ftp.andrew.cmu.edu/pub/AUIS/bison/bison-A2.2.tar.gz
also in contrib/andrew on the XV11R6 distribution in
directories overhead/bison, overhead/mkparser (but not the
C++ version of the parser)
description: This is the standard gnu bison with a number of improvments:
license-free parsers for C and C++, only one external symbol
for each grammar, permits multiple grammars per application,
better error reports on the grammar.
conformance: grammars are the same as bison and yacc; but run-time errors
are handled differently, so semantic rules must be changed
features: tokens in the grammar can be expressed as ">=" instead of GE
bugs: send bugs to info-andrew-bugs@andrew.cmu.edu
restriction: none (unless you use the native gnu-bison parser)
ports: has been tested on most Unix platforms
portability: generation of names for temp files is system dependent.
discussion: info-andrew@andrew.cmu.edu (mirrored to comp.soft-sys.andrew)
support: supported by the Andrew Consortium
contributions: your organization is invited to join the Andrew Consortium
info-andrew-request@andrew.cmu.edu
updated: 1994/05/09
language: BNF (yacc)
package: ? jaccl ?
version: ?
parts: parser generator
author: Dave Jones <djones@megatest.uucp>
location: ?
description: a LR(1) parser generator
updated: 1989/09/08
language: BNF (yacc)
package: byacc (Berkeley Yacc)
version: 1.9
parts: parser generator
author: Robert Corbett <Robert.Corbett@eng.sun.com>
location: ftp pub/byacc.tar.1.9.Z from vangogh.CS.Berkeley.EDU
description: probably the best yacc variant around. Previously known as
Zoo, and before that, as Zeus.
updated: 1993/02/22
language: BNF (yacc), Lex
package: Lex/Yacc for Turbo Pascal uploaded
version: ?
parts: parser generator, scanner generator, documentation?
author: ?
location: iecc.com (140.186.81.1) at pub/file/lyprg.zip.
description: Lex and Yacc retargeted to Pascal.
contact: ? dpoole@hydrogen.oscs.montana.edu (David Poole)
updated: 1993/07/02
language: BNF (yacc), Ada
package: aflex-ayacc
version: 1.2a
parts: parser generator (Ada), scanner generator (Ada)
author: IRUS (Irvine Research Unit in Software)
location: ftp pub/irus/aflex-ayacc_1.2a.tar.Z from liege.ics.uci.edu
description: Lex and Yacc equivalents that produce Ada output
announcements: irus-software-request@ics.uci.edu
contact: irus-software-request@ics.uci.edu
updated: 1993/01/06
language: BNF (yacc), Perl
package: perl-byacc
version: 1.8.2
parts: parser-generator(perl)
author: Rick Ohnemus <Rick_Ohnemus@Sterling.COM>
location: ftp local/perl-byacc.tar.Z from ftp.sterling.com
description: A modified version of byacc that generates perl code. Has '-p'
switch so multiple parsers can be used in one program (C or
perl).
portability: Should work on most (?) Unix systems. Also works with
SAS/C 6.x on AMIGAs.
updated: 1993/01/24
language: BNF (yacc), Standard ML
package: New SML-Yacc and SML-Lex
version: ??
parts: ??
author: Andrew Appel <appel@tyrolia.princeton.edu>
location: princeton.edu in pub/ml, files mlyacc94.tar.Z, lexgen94.tar.Z.
description: ??
updated: 1994/05/23
language: BNF (variant), Icon
package: Ibpag2 (Icon-Based Parser Generation System 2)
version: 1.2
parts: parser generator (Icon, SLR(1))
author: Richard L. Goerwitz <goer@midway.uchicago.edu>
location: comp.sources.misc volume 44
description: Ibpag2 is a parser generator for Icon. It does most
of what you would expect. Latest version can handle both
SLR(1) and even GLR (Tomita) grammars.
ports: unix
portability: ? (Unix dependencies?)
updated: 1994/09/25
language: BNF ?, Gofer
package: Ratatosk (?)
version: ?
parts: parser generatr (Gofer)
author: Torben AEgidius Mogensen <torbenm@diku.dk>
location: ftp pub/diku/dists/Ratatosk.tar.Z from ftp.diku.dk
description: Ratatosk is a SLR parser generator in Gofer (a Haskell variant)
that generates purely functional parsers (also in Gofer). Even
though the sematic value of a production is a function of the
attributes of its right-hand side (and thus apparently purely
synthesized), inherited attributes are easily simulated by
using higher order functions.
ports: ?
updated: ?
language: BNF
package: lalr.ss - An LALR(1) parser generator
version: 0.9
parts: parser generator (->Scheme)
author: Mark Johnson <mj@cs.brown.edu>
location: ftp new/lalr.shar from the Scheme Repository
description: A LALR(1) parser generator in and for Scheme.
requires: Scheme
updated: 1993/05/24
language: BURS ?
package: Iburg
version: ?
parts: parser generator?
author: Christopher W. Fraser <cwf@research.att.com>, David R. Hanson
<drh@princeton.edu>, Todd A. Proebsting <todd@cs.arizona.edu>
location: ftp pub/iburg.tar.Z from ftp.cs.princeton.edu
description: Iburg is a program that generates a fast tree parser. It is
compatible with Burg. Both programs accept a cost-augmented
tree grammar and emit a C program that discovers an optimal
parse of trees in the language described by the grammar. They
have been used to construct fast optimal instruction selectors
for use in code generation. Burg uses BURS; Iburg's matchers
do dynamic programming at compile time.
updated: 1993/02/10
language: BNF variant, Python
package: kwParsing ?
version: ?
parts: parser generator
author: Aaron Watters <aaron@vienna.njit.edu>
location: ftp pub/python/kwParsing.* from ftp.markv.com
description: A parser generator written in Python for Python. This package
may be appropriate for experimental translators, code
generators, interpreters, or compilers; for instructinal
purposes; among other possibility. The documentation gives a
brief introduction to the conventions and basic ideas of
parsing.
updated: 1994/09/24
language: Candle, IDL (Interface Description Language)
package: Scorpion System
version: 6.0
parts: software development environment for developing
software development environments, documentation
author: University of Arizona
location: ftp scorpion/* from cs.arizona.edu
description: 20 tools that can be used to construct specialized
programming environments.
The Scorpion Project was started by Prof. Richard
Snodgrass as an outgrowth of the SoftLab Project (which pro-
duced the IDL Toolkit) that he started when he was at the
University of North Carolina. The Scorpion Project is
directed by him at the University of Arizona and by Karen
Shannon at the University of North Carolina at Chapel Hill.
reference: "The Interface Description Language: Definition and Use,"
by Richard Snodgrass, Computer Science Press, 1989,
ISBN 0-7167-8198-0
ports: Sun-3, Sun-4, Vax, Decstation, Iris, Sequent, HP9000
discussion: info-scorpion-request@cs.arizona.edu
contact: scorpion-project@cs.arizona.edu
updated: 1993/11/04
language: COCOL (EBNF variant)
package: COCO/R
version: 1.36
parts: parser generator(LL(1))
author: Hanspeter Moessenboeck <moessenboeck@inf.ethz.ch>
Port to Modula-2 done by Marc Brandis, Christof Brass
and Pat Terry <cspt@alpha.ru.ac.za>
location: neptune.inf.ethz.ch:/pub/Coco
ftp.psg.com:/pub/modula-2/coco
cs.ru.ac.za:/pub/coco
pluto.fit.qut.edu.au:/pub/coco
description: Coco/R generates recursive descent parsers and their associated
scanners from attributed grammars. Coco/R can bootstrap itself
to generate its own driver, parser, scanner, and semantic
evaluator from the attributed grammar CR.ATG. This grammar
thus serves as an an example of how to write compiler
descriptions for Coco. There are also other simpler examples
showing its use.
reference: _A compiler generator for microcomputers_, by Rechenberg
and Mossenbock (Prentice Hall, 1989, 0-13-155136-1)
bugs: MS-DOS related versions: Pat Terry <cspt@alpha.ru.ac.za>
Other: Hanspeter Moessenboeck <moessenboeck@inf.ethz.ch>
requires: Oberon or Modula-2
ports: MS-DOS: TopSpeed Modula-2; FST 2.0; FST 3.1; StonyBrook
QuickMod 2.2; Logitech 3.03. Macintosh: Apple MacMeth
status: Oberon version is freely available?, Modula-2 version is
free to academic sites; commercial use requires a license
updated: 1994/06/23
language: COCOL (EBNF variant)
package: coco/R
version: 1.03
parts: parser generator(LL(1))
description: A C version of COCO/R
updated: 1994/11/10
language: EAG (Extended Affix Grammar)
package: EAG
version: first public release
parts: recognizer generator, transduccer generator,
translator generator, editor generator, documentation
author: Marc Seutter <marcs@cs.kun.nl>
location: ftp pub/eag/* from hades.cs.kun.nl
description: The Extended Affix Grammar formalism, or EAG for short, is a
formalism for describing both the context free and the context
sensitive syntax of languages. EAG is a member of the family
of two-level grammars. They are very closely related to
two-level van Wijngaarden grammars. The EAG compiler will
generate either a recognizer or a transducer or a translator
or a syntax directed editor for a language described in the EAG
formalism.
updated: 1993/09/14
language: EBNF
package: ETO
version: test version
parts: parser, postscript document, examples
author: Lin Li <china@bernina.ethz.ch>
location: FTP: fi.ethz.ch under /pub/ETO/eto-09.*
description: ETO is an object oriented universal syntax checker. It takes
an EBNF specification for a language and then uses it on an
input file to check its syntax.
updated: 1994/06/03
language: lex
package: flex
version: 2.5.2
parts: scanner generator
author: Vern Paxson <vern@ee.lbl.gov>
location: ftp flex-2.5.2.tar.Z from a GNU archive site or ftp.ee.lbl.gov
description: A POSIX-compliant "lex" scanner generator.
bugs: vern@ee.lbl.gov or bug-gnu-utils@prep.ai.mit.edu
updated: 1995/03/28
language: Regular Expressions
package: re2c
version: alpha
parts: translator (re->c)
author: ?? peter@csg.uwaterloo.ca
location: csg.uwaterloo.ca in /pub/peter/re2c.0.5.tar.gz
description: A regular expression to C converter.
updated: ?? 1994/04/29
language: Milarepa
package: Milarepa Perl/BNF Parser
version: Prototype 1.0
parts: parser-generator, examples, tutorial
author: Jeffrey Kegler <jeffrey@netcom.com>
location: via anonymous ftp at
alexia.lis.uiuc.edu:/pub/perl/marpa-1.0.tar.Z
description: Milarepa takes a source grammar in the Milarepa language (a
straightforward mix of BNF and Perl) and generates a Perl file,
which, when enclosed in a simple wrapper, parses some third
language described by the source grammar.
This is intended to be a real hacker's parser. It is not
restricted to LR(k), and the parse logic follows directly from
the BNF. It handles ambiguous grammars, ambiguous tokens
(tokens which were not positively identified by the lexer) and
allows the programmer to change the start symbol. The grammar
may not be left recursive. The input must be divided into
sentences of a finite maximum length. There is no fixed
distinction between terminals and non-terminals, that is, a
symbol can both match the input AND be on the left hand side of
a production. Multiple Marpa grammars are allowed in a single
perl program.
It's only a prototype primarily due to poor speed. This is
intended to be remedied after Perl 5.0 is out.
requires: perl
updated: 1994/04/27
language: Pascal, Lisp, APL, Scheme, SASL, CLU, Smalltalk, Prolog
package: Tim Budd's C++ implementation of Kamin's interpreters
version: ?
parts: interpretors, documentation
author: Tim Budd <budd@cs.orst.edu>
location: ? ftp pub/budd/kamin/*.shar from cs.orst.edu ?
description: a set of interpretors written as subclasses based on
"Programming Languages, An Interpreter-Based Approach",
by Samuel Kamin.
requires: C++
status: ?
contact: Tim Budd <budd@fog.cs.orst.edu>
updated: 1991/09/12
language: Relation Grammar
package: rl
version: ?
parts: ?
author: Kent Wittenburg <kentw@bellcore.com>
location: fto rl/* from flash.bellcore.com
description: The RL files contain code for defining Relational Grammars and
using them in a bottom-up parser to recognize and/or parse
expressions in Relational Languages. The approach is a
simplification of that described in Wittenburg, Weitzman, and
Talley (1991), Unification-Based Grammars and Tabular Parsing
for Graphical Languages, Journal of Visual Languages and
Computing 2:347-370.
This code is designed to support the definition and parsing of
Relational Languages, which are characterized as sets of
objects standing in user-defined relations. Correctness and
completeness is independent of the order in which the input is
given to the parser. Data to be parsed can be in many forms as
long as an interface is supported for queries and predicates
for the relations used in grammar productions. To date, this
software has been used to parse recursive pen-based input such
as math expressions and flowcharts; to check for data
integrity and design conformance in databases; to
automatically generate constraints in drag-and-drop style
graphical interfaces; and to generate graphical displays by
parsing relational data and generating output code.
requires: Common Lisp
ports: Allegro Common Lisp 4.1, Macintosh Common Lisp 2.0
updated: 1992/10/31
language: S/SL (Syntax Semantic Language)
package: ssl
version: ?
parts: parser bytecode compiler, runtime
author: Rick Holt, Jim Cordy <cordy@qucis.queensu.ca> (language),
Rayan Zachariassen <rayan@cs.toronto.edu> (C implementation)
location: ftp pub/ssl.tar.Z from neat.cs.toronto.edu
description: A better characterization is that S/SL is a language
explicitly designed for making efficient recusive-descent
parsers. Unlike most other languages, practicially the
LEAST expensive thing you can do in S/SL is recur. A
small language that defines input/output/error token
names (& values), semantic operations (which are really
escapes to a programming language but allow good
abstration in the pseudo-code), and a pseudo-code
program that defines a grammar by the token stream the
program accepts. Alternation, control flow, and
1-symbol lookahead constructs are part of the
language. What I call an S/SL "implementation", is a
program that compiles this S/SL pseudo-code into a
table (think byte-codes) that is interpreted by the
S/SL table-walker (interpreter). I think the pseudo-code
language is LR(1), and that the semantic mechanisms turn it
into LR(N) relatively easily.
+ more powerful and cleaner than yac
- slower than yacc
reference: Cordy, J.R. and Holt, R.C. [1980] Specification of S/SL:
Syntax/Semantic Language, Computer Systems Research
Institute, University of Toronto.
"An Introduction to S/SL: Syntax/Semantic Language" by
R.C. Holt, J.R. Cordy, and D.B. Wortman, in ACM Transactions
on Programming Languages and Systems (TOPLAS), Vol 4, No.
2, April 1982, Pages 149-178.
updated: 1989/09/25
language: TXL
package: TXL: Tree Transformation Language
version: 7.4
parts: translator, documentation, tutorial, examples
author: Jim Cordy <cordy@qucis.queensu.ca>
location: ftp pub/txl/* from ftp.qucis.queensu.ca
description: TXL is a language for performing source to source
transformations and is well suited for rapidly prototyping
new languages and language processors. It has also been used to
prototype specification languages, command languages, and more
traditional program transformation tasks such as constant
folding, type inference, source optimization and reverse
engineering. TXL takes as input an arbitrary context-free
grammar in extended BNF-like notation, and a set of
show-by-example transformation rules to be applied to inputs
parsed using the grammar. TXL is a functional/rule-based
hybrid programming language, using the paradigm of structural
transformation.
reference: Several listed in software documentation
updated: 1993/08/04
language: BNF (extended)
package: SORCERER: A Simple Tree Parser Generator
version: 1.01
parts: translator, documentation, tutorial, examples
author: Terence Parr <parrt@s1.arc.umn.edu>
location: ftp pub/pccts/sorcerer/* from marvin.ecn.purdue.edu
description: SORCERER is more suitable for the class of translation problems
lying between those solved by code-generator generators and by
full source-to-source translator generators. SORCERER
generates simple, flexible, top-down, tree parsers that, in
contrast to code-generators, may execute actions at any point
during a tree walk. SORCERER accepts extended BNF notation,
allows predicates to direct the tree walk with semantic and
syntactic context information, and does not rely on any
particular intermediate form, parser generator, or other
pre-existing application.
reference: Several listed in software documentation
discussion: send mail with a body of "subscribe pccts-users your_name" to
pccts-users@ahpcrc.umn.edu. "your_name" can be email, or full.
help: from mailing list
support: actively supported, from mailing list
updated: ? 1994/06/15
mathematical tools and languages
-------------------------------------------------------------------------------
category: mathematical tools and languages
description: These are either special-purpose languages and tools, or
general purpose languages and tools that have traditionally
been used for mathematical and scientific computing task.
lref: Fortran
lref: PCN
lref: CLP
lref: SISAL 1.2
language: APL
package: I-APL
version: ?
parts: ?
author: ?
location: ftp languages/apl/* from watserv1.waterloo.edu
description: ?
updated: 1992/07/06
language: APL
package: APLWEB
version: ?
parts: translator(web->apl), translator(web->TeX)
author: Dr. Christoph von Basum <CvB@erasmus.hrz.uni-bielefeld.de>
location: ftp languages/apl/aplweb/* from watserv1.uwaterloo.ca
description: [Should this be listed with the Web entries? -- Ed.]
updated: 1992/12/07
language: APL
iref: (APL) Tim Budd's C++ implementation of Kamin's interpreters
language: J
package: J-mode
version: ?
parts: emacs macros
author: ?
location: ftp pub/j/gmacs/j-interaction-mode.el from think.com
description: add on to J
updated: 1991/03/04
language: RLaB language (math manipulation - MATLAB-like)
package: RLaB
version: 1.18d
parts: interpreter, libraries, documentation
author: Ian Searle <ians@eskimo.com>
location: ftp pub/RLaB/* from evans.ee.adfa.oz.au
US: csi.jpl.nasa.gov in /pub/matlab/RLaB
description: RLaB is a "MATLAB-like" matrix-oriented programming
language/toolbox. RLaB focuses on creating a good experimental
environment (or laboratory) in which to do matrix math
Currently RLaB has numeric scalars and matrices (real and
complex), and string scalars, and matrices. RLaB also contains
a list variable type, which is a heterogeneous associative
array.
bugs: Ian Searle <ians@eskimo.com>
restriction: GNU General Public License
requires: GNUPLOT, lib[IF]77.a (from f2c)
ports: many unix, OS/2, Amiga
updated: 1995/03/16
language: octave language (math manipulation - MATLAB-like)
package: octave
version: 1.1.1
parts: interpreter, libraries, documentation
author: John W. Eaton
location: ftp /pub/octave/* from ftp.che.utexas.edu
also, any GNU archive site (see archive listing below)
description: Octave is a high-level language, primarily intended for
numerical computations. It provides a convenient command line
interface for solving linear and nonlinear problems
numerically.
Octave can do arithmetic for real and complex scalars and
matrices, solve sets of nonlinear algebraic equations,
integrate functions over finite and infinite intervals, and
integrate systems of ordinary differential and
differential-algebraic equations.
bugs: bug-octave@che.utexas.edu
restriction: GNU General Public License
requires: gnuplot, C++ compiler and FORTRAN compiler or f2c translator.
ports: several
updated: 1994/2/23
language: FUDGIT language (math manipulation)
package: FUDGIT
version: 2.27
parts: interpreter
author: Thomas Koenig <ig25@rz.uni-karlsruhe.de> ??
location: ftp /pub/linux/sources/usr.bin/fudgit-* from tsx-11.mit.edu ??
description: FUDGIT is a double-precision multi-purpose fitting program. It
can manipulate complete columns of numbers in the form of
vector arithmetic. FUDGIT is also an expression language
interpreter understanding most of C grammar except pointers.
Morever, FUDGIT is a front end for any plotting program
supporting commands from stdin. It is a nice mathematical
complement to GNUPLOT, for example.
requires: GNUPLOT
ports: AIX, HPUX, Linux, IRIX, NeXT, SunOS, Ultrix
updated: 1993/02/22
language: Unix BC (arbitrary-precision arithmetic language)
package: C-BC
version: 1.1
parts: bytecode compiler, interpreter, documentation, examples
author: Mark Hopkins <mark@omnifest.uwm.edu>
location: alt.sources (10/04/93), or contact author by E-mail.
description: A strongly typed version of BC with expanded C-like syntax,
more base types, with ability to form array and pointer types
of any dimension and to allocate/free arrays at run-time.
conformance: Most POSIX-BC features supported, except functions must be
declared consistently and declared before first use. String
handling slightly different.
reference: C-BC implementation notes contained with software documentation
requires: ANSI-C compiler
ports: DOS, Unix
portability: No system dependent features present.
updated: 1993/08/23
language: Unix BC (arbitrary-precision arithmetic language)
package: GNU BC
version: 1.02
parts: parser (yacc), interpreter, BC math library
author: Philip A. Nelson <phil@cs.wwu.edu>
location: ftp bc-1.02.tar.Z from a GNU archive site
description: BC is an arbitrary precision numeric processing language with a
C-like syntax that traditionally provided a front-end to DC.
This version, however, is self-contained and internally
executes its own compiled code (unrelated to DC code).
conformance: Superset of POSIX BC (P10003.2/D11), with a POSIX-only mode.
restriction: Source code falls under the GNU CopyLeft.
requires: vsprintf and vfprintf routines
ports: Unix (BSD, System V, MINIX, POSIX)
updated: ?
language: Calc? (symbolic math calculator)
package: Calc
version: 2.02
parts: interpreter, emacs mode, documentation
author: Dave Gillespie <daveg@cs.caltech.edu>
location: ftp calc-2.02.tar.z from a GNU archive site
description: Calc is an extensible, advanced desk calculator and
mathematical tool written in Emacs Lisp that runs as part of
GNU Emacs. It is accompanied by the "Calc Manual", which
serves as both a tutorial and a reference. If you wish, you
can use Calc as only a simple four-function calculator, but it
also provides additional features including choice of algebraic
or RPN (stack-based) entry, logarithms, trigonometric and
financial functions, arbitrary precision, complex numbers,
vectors, matrices, dates, times, infinities, sets, algebraic
simplification, differentiation, and integration.
bugs: ?
updated: ?
language: C-like caluculator
package: Arbitrary precision calculator
version: 1.26.4
parts: interpreter
author: David I. Bell <dbell@canb.auug.org.au>
location: ftp pub/calc from ftp.uu.net
description: Arbitrary precision C-like calculator [similar to BC? --ed]
ports: Linux
updated: 1993/06/15
language: Unix DC (arbitrary-precision arithmetic language)
package: GNU DC
version: 0.2
parts: interpreter
author: ?
location: ftp dc-0.2.tar.Z from a GNU archive site
description: DC is the language for an arbitrary precision postfix
calculator. This version is a subset of DC that handles all
the Unix DC operations, except the (undocumented) array
operations.
status: Attempting integration with GNU BC.
updated: 1993/05/21
language: Fortran
package: f2c
version: 1993.04.28
parts: translator (to C), postscript documentation, man pages,
support libraries.
author: S. I. Feldman, D. M. Gay, M. W. Maimone and N. L. Schryer
location: ftp from netlib@research.att.com:netlib/f2c/src/*
description: translator (Fortran 77 to ANSI C or C++)
bugs: D. M. Gay <dmg@research.att.com>
updated: 1993 April 27
language: Fortran
package: Floppy
version: ?
parts: ?
author: ?
location: ffccc in comp.sources.misc archive volume 12
description: ?
contact: ?
updated: 1992/08/04
language: Fortran
package: Flow
version: ?
parts: ?
author: Julian James Bunn <julian@vxcrna.cxern.ch>
location: comp.sources.misc archive volume 31
description: The Flow program is a companion to Floppy, it allows the user
to produce various reports on the structure of Fortran
77 code, such as flow diagrams and common block tables.
requires: Floppy
ports: VMS, Unix, CMS
updated: ?
language: Fortran
package: Adaptor (Automatic DAta Parallelism TranslatOR)
version: 1.0
parts: preprocessor, library, documentation
author: ?
location: ftp gmd/adaptor/adp_1.0.tar.Z from ftp.gmd.de
description: Adaptor is a tool that transforms data parallel
programs written in Fortran with array extensions,
parallel loops, and layout directives to parallel
programs with explicit message passing.
ADAPTOR is not a compiler but a source to source
transformation that generates Fortran 77 host and
node programs with message passing. The new
generated source codes have to be compiled by the
compiler of the parallel machine.
ports: CM-5, iPCS/860, Meiko CS1/CS2, KSR 1, SGI, Alliant,
network of Suns, or RS/6000s
contact: Thomas Brandes <brandes@gmd.de>
updated: 1993/06
language: Fortran, C
package: cfortran.h
version: 2.6
parts: macros, documentation, examples
author: Burkhard Burow
location: ftp cfortran/* from zebra.desy.de
description: cfortran.h is an easy-to-use powerful bridge between
C and FORTRAN. It provides a completely transparent, machine
independent interface between C and FORTRAN routines and
global data.
cfortran.h provides macros which allow the C preprocessor to
translate a simple description of a C (Fortran) routine or
global data into a Fortran (C) interface.
reference: reviewed in RS/Magazine November 1992 and
a user's experiences with cfortran.h are to be described
in the 1/93 issue of Computers in Physics.
ports: VAX VMS or Ultrix, DECstation, Silicon Graphics, IBM RS/6000,
Sun, CRAY, Apollo, HP9000, LynxOS, f2c, NAG f90.
portability: high
contact: burow@vxdesy.cern.ch
updated: 1992/04/12
language: Fortran
package: fsplit
version: ?
parts: ?
author: ?
location: ?
description: a tool to split up monolithic fortran programs
updated: ?
language: Fortran
package: ?
version: ?
parts: ?
author: Steve Mccrea <mccrea@gdwest.gd.com>
location: ?
description: a tool to split up monolithic fortran programs
requires: new awk
updated: ?
language: Fortran
package: Fortran77 -> Fortran90 converter
version: ? 1
parts: translator(Fortran 77 -> Fortran 90), documentation?
author: metcalf@cernvm.cern.ch <Michael Metcalf>
location: ftp pub/MandR/convert.f90 from jkr.cc.rl.ac.uk
description: A Fortran77 to Fortran90 translator. There's a number of
significant differences between the two Fortrans that makes
a package like this useful.
updated: 1993/07/17
language: Fortran
package: F-curses
version: ?
parts: library
author: Wade Schauer <sal!wade@sactoh0.sac.ca.us>
location: comp.sources.misc volume 44
description: F-curses (C) is a library of Fortran and C routines that gives
Fortran programmers tranparent access to the curses library (a
C library).
restriction: shareware
ports: UNIX, MS-DOS
updated: 1994/10/10
language: Fortran
iref: (Fortran) Stanford SUIF Compiler
language: Fortran
package: ?
version: ?
parts: semantic analyser
author: ?
location: http://www.nag.co.uk:70/
description: Fortran 90 semantic analyser
updated: ?
language: J
package: J from ISI
version: 6
parts: interpreter, tutorial
author: Kenneth E. Iverson and Roger Hui <hui@yrloc.ipsa.reuter.com>
location: ftp languages/apl/j/* from watserv1.waterloo.edu
description: J was designed and developed by Ken Iverson and Roger Hui. It
is similar to the language APL, departing from APL in using
using the ASCII alphabet exclusively, but employing a spelling
scheme that retains the advantages of the special alphabet
required by APL. It has added features and control structures
that extend its power beyond standard APL. Although it can be
used as a conventional procedural programming language, it can
also be used as a pure functional programming language.
ports: Dec, NeXT, SGI, Sun-3, Sun-4, VAX, RS/6000, MIPS, Mac, Acorn
IBM-PC, Atari, 3b1, Amiga
updated: 1992/10/31
language: Ratfor
package: ? ratfor ?
version: ?
parts: translator(Ratfor->Fortran IV)
author: Brian Kernighan and P.J. Plauger (wrote the book anyway)
location: comp.sources.unix archives volume 13
description: Ratfor is a front end language for Fortran. It was designed
to give structured control structures to Fortran. It is
mainly of historical significance.
updated: ?
language: Y (cross between C and Ratfor)
package: y+po
version: ?
parts: compiler
author: Jack W. Davidson and Christopher W. Fraser
location: ftp pub/y+po.tar.Z from ftp.cs.princeton.edu
description: Davidson/Fraser peephole optimizer PO [1-3] [where the GCC RTL
idea and other optimization ideas came from] along with the Y
compiler [cross between C+ratfor] is ftpable from
ftp.cs.princeton.edu: /pub/y+po.tar.Z. It is a copy of the
original distribution from the University of Arizona during the
early 80's, totally unsupported, almost forgotten [do not bug
the authors] old code, possibly of interest to
compiler/language hackers.
reference: Jack W. Davidson and Christopher W. Fraser, "The Design and
Application of a Retargetable Peephole Optimizer", TOPLAS,
Apr. 1980.
Jack W. Davidson, "Simplifying Code Through Peephole
Optimization" Technical Report TR81-19, The University of
Arizona, Tucson, AZ, 1981.
Jack W. Davidson and Christopher W. Fraser, "Register
Allocation and Exhaustive Peephole Optimization"
Software-Practice and Experience, Sep. 1984.
status: history
updated: ?
electrical engineering languages
-------------------------------------------------------------------------------
category: electrical engineering languages
description: These are languages used for simulating, designing, and
specifying circuits.
language: CASE-DSP (Computer Aided Software Eng. for Digital Signal Proc)
package: Ptolemy
version: 0.4.1
parts: grahpical algorithm layout, code generator, simulator
author: ?
location: ftp pub/ptolemy/* from ptolemy.bekeley.edu
description: Ptolemy provides a highly flexible foundation for the
specification, simulation, and rapid prototyping of systems.
It is an object oriented framework within which diverse models
of computation can co-exist and interact. For example, using
Ptolemy a data-flow system can be easily connected to a
hardware simulator which in turn may be connected to a
discrete-event system, etc. Because of this, Ptolemy can be
used to model entire systems.
In addition, Ptolemy now has code generation capabilities.
from a flow graph description, Ptolemy can generate both C code
and DSP assembly code for rapid prototyping. Note that code
generation is not yet complete, and is included in the current
release for demonstration purposes only.
requires: C++, C
ports: Sun-4, MIPS/Ultrix; DSP56001, DSP96002.
status: active research project
discussion: ptolemy-hackers-request@ohm.berkeley.edu
contact: ptolemy@ohm.berkeley.edu
updated: 1993/04/22
language: EDIF (Electronic Design Interchange Format)
package: Berkeley EDIF200
version: 7.6
parts: translator-building toolkit
author: Wendell C. Baker and Prof A. Richard Newton of the Electronics
Research Laboratory, Department of Electrical Engineering and
Computer Sciences at the University of California, Berkeley, CA
location: ftp from pub/edif in ic.berkeley.edu
description: ?
restriction: no-profit w/o permission
ports: ?
updated: 1990/07
language: Verilog, XNF
package: XNF to Verilog Translator
version: ?
parts: translator(XNF->Verilog)
author: M J Colley <martin@essex.ac.uk>
location: ftp pub/dank/xnf2ver.tar.Z from punisher.caltech.edu
description: This program was written by a postgraduate student as part
of his M.Sc course, it was designed to form part a larger
system operating with the Cadence Edge 2.1 framework. This
should be born in mind when considering the construction
and/or operation of the program.
updated: ?
language: VHDL
package: ALLIANCE
version: 1.1
parts: compiler, simulator, tools and environment, documentation
author: ?
location: ftp pub/cao-vlsi/alliance from ftp-masi.ibp.fr
description: ALLIANCE 1.1 is a complete set of CAD tools for teaching
Digital CMOS VLSI Design in Universities. It includes VHDL
compiler and simulator, logic synthesis tools, automatic place
and route, etc... ALLIANCE is the result of a ten years effort
at University Pierre et Marie Curie (PARIS VI, France).
ports: Sun4, also not well supported: Mips/Ultrix, 386/SystemV
discussion: alliance-request@masi.ibp.fr
contact: cao-vlsi@masi.ibp.fr
updated: 1993/02/16
language: VHDL
package: VHDL Object Model (VOM)
version: 1.0
parts: parser
author: David Benz <dbenz@thor.ece.uc.edu> and
Phillip Baraona <pbaraona@thor.ece.uc.edu>
location: ftp pub/vhdl/tools/vhdl-object-model.tar.g from thor.ece.uc.edu
description: VOM 1.0 is an object-oriented syntactic specification for VHDL
written using the REFINE software design and synthesis
environment. In simpler terms, it is a VHDL parser which builds
an object tree from VHDL source code.
If you are interested in transforming VHDL into some other form
(source code, whatever) you might be interested in this. The
parse tree (in the form of an object tree) is provided, you would
just need to add your own transformations.
VOM isn't complete. The semantic information is not included
(type checking, certain syntactic-rules, etc.). VOM 1.0 should
parse most VHDL programs. However, it will not detect errors
such as a wait statement in a process statement with an
explicit sensitivity list.
updated: 1994/11/01
--
Send compilers articles to compilers@iecc.com,
meta-mail to compilers-request@iecc.com.